'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  //路由控制器的写法  控制器.文件名.方法名
  //post 请求需要关闭CSRF安全守卫使用

  //获取角色信息
  router.get('/api/role',controller.user.sendRole);
  
  // 发送邮件
  router.post('/api/mail',controller.user.sendMail)

  // oss上传
  router.post('/api/upload',controller.user.upload);
  
  //第三方登录获取授权码
  router.get('/api/sendOauthCode',controller.user.sendOauth);
  
  router.post('/api/login', controller.user.login);//登录

  //获取验证码
  router.get('/api/sendCode',controller.user.sendCode);

  //注册
  router.post('/api/registry',controller.user.registry);

  router.get('/api/getList',controller.user.getList);//获取用户列表

  //添加用户
  router.post('/api/addUser',controller.user.addUser);
  // 删除用户
  router.delete('/api/del/:id',controller.user.del);
  //编辑用户
  router.put('/api/editUser',controller.user.editUser);
  //查询用户
  router.get('/api/userInfo',controller.user.userInfo);

  // RESTful风格的URL
  //router.resource()方法匹配路由，会在该路由上快速生成curd接口（增删改查）
  // 接收的参数 1.路由的名字 routerName 2.路径 /api/版本号/名字的复数 3.控制器
  router.resources('address','/api/v1/address',controller.address);

   //即时通信 后端用到的技术 egg-socket.io 后端有什么变动，实时推送信息给前端 实时推送信息 长链接
  // 技术2： 轮询 使用setInterval 隔一段时间请求一次 短连接
  router.resources('article','/api/v1/articles',controller.article);

  //socket
  app.io.of('/').route('msg',app.io.controller.ping.ping);//方法名msg
};

 